题目

小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。

并且小Q对于能否被3整除这个性质很感兴趣。

小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。

思路：
字符类型长度不够
找规律

写出来当插入i以后的规律：
i = 1 ----> 1
i = 2 ----> 0
i = 3 ----> 0
i = 4 ----> 1
i = 5 ----> 0
i = 6 ----> 0
i = 7 ----> 1
………………
发现在区间[1,x]之间共计有 fuck(x) = (x+2)/3 个1，剩下的都满足要求
那么在区间[L, R]上的 R-L+1个 数字中，必须抠掉 fuck(r) - fuck(l-1) 个不满足要求的数字。
直接打印出来就可以了，O(1)，不需要循环遍历。
#include<stdio.h>
#define f(x) (((x)+2)/3)
int main(){
    int l, r;
    printf("%d\n", r-l+1-f(r)+f(l-1));
    return 0;
}
